From: Colin Walters Date: Sat, 21 Jun 2014 21:30:11 +0000 (-0400) Subject: [staticanalysis]: Actually check errors on splice() of objects X-Git-Tag: archive/raspbian/2022.1-3+rpi1~1^2~1155 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=54079982d8667f3f908a2f03a11c1c8ee0619839;p=ostree.git [staticanalysis]: Actually check errors on splice() of objects We were using unsigned size when we should have been using signed, this means we basically weren't checking for errors on write...ouch. Luckily if we e.g. hit ENOSPC during a pull, the checksums wouldn't match and we'd return an error anyways. However when writing an object, we'd end up silently ignoring it =/ https://bugzilla.gnome.org/show_bug.cgi?id=732020 --- diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c index 3ae8ae24..68cff05d 100644 --- a/src/libostree/ostree-repo-commit.c +++ b/src/libostree/ostree-repo-commit.c @@ -365,7 +365,7 @@ write_object (OstreeRepo *self, gboolean temp_file_is_regular; gboolean is_symlink = FALSE; char loose_objpath[_OSTREE_LOOSE_PATH_MAX]; - gsize unpacked_size = 0; + gssize unpacked_size = 0; gboolean indexable = FALSE; g_return_val_if_fail (expected_checksum || out_csum, FALSE);